diff --git a/include/obj/NiLODNode.h b/include/obj/NiLODNode.h
index 6beb4031c3f3afa6c1d30e48ae1adeffe35dcb89..778b219cbf188012662dc16223fd0aa6db7c826c 100644
--- a/include/obj/NiLODNode.h
+++ b/include/obj/NiLODNode.h
@@ -41,6 +41,24 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * Point to calculate distance from for switching?
+	 */
+	Vector3 GetLodCenter() const;
+	void SetLodCenter( const Vector3 & value );
+
+	/*!
+	 * The ranges of distance that each level of detail applies in.
+	 */
+	vector<LODRange > GetLodLevels() const;
+	void SetLodLevels( const vector<LODRange >& value );
+
+	/*!
+	 * Refers to LOD level information, either distance or screen size based.
+	 */
+	Ref<NiLODData > GetRangeData() const;
+	void SetRangeData( Ref<NiLODData > value );
+
 protected:
 	NI_L_O_D_NODE_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/include/obj/NiRangeLODData.h b/include/obj/NiRangeLODData.h
index 4136f1c3af6540f79ba88c4492fd35fca74ced91..a6377a9d3dbff1ae2826a4c21abacc410fdb6b60 100644
--- a/include/obj/NiRangeLODData.h
+++ b/include/obj/NiRangeLODData.h
@@ -17,7 +17,8 @@ class NiRangeLODData;
 typedef Ref<NiRangeLODData> NiRangeLODDataRef;
 
 /*!
- * NiRangeLODData - Describes levels of detail.
+ * NiRangeLODData - Describes levels of detail based on distance of
+ * object from camera.
  */
 
 class NIFLIB_API NiRangeLODData : public NI_RANGE_L_O_D_DATA_PARENT {
@@ -36,6 +37,18 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * ?
+	 */
+	Vector3 GetLodCenter() const;
+	void SetLodCenter( const Vector3 & value );
+
+	/*!
+	 * The ranges of distance that each level of detail applies in.
+	 */
+	vector<LODRange > GetLodLevels() const;
+	void SetLodLevels( const vector<LODRange >& value );
+
 protected:
 	NI_RANGE_L_O_D_DATA_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/include/obj/NiScreenLODData.h b/include/obj/NiScreenLODData.h
index 34b0c831471b33da86a0796503edc54d77f493e2..5b867338e00b418179a37583f3be4a72082cc960 100644
--- a/include/obj/NiScreenLODData.h
+++ b/include/obj/NiScreenLODData.h
@@ -13,7 +13,8 @@ class NiScreenLODData;
 typedef Ref<NiScreenLODData> NiScreenLODDataRef;
 
 /*!
- * NiScreenLODData - Unknown.
+ * NiScreenLODData - Describes levels of detail based on size of object
+ * on screen?
  */
 
 class NIFLIB_API NiScreenLODData : public NI_SCREEN_L_O_D_DATA_PARENT {
@@ -32,6 +33,36 @@ public:
 	virtual list<NiObjectRef> GetRefs() const;
 	virtual const Type & GetType() const;
 
+	/*!
+	 * The center of the bounding sphere?
+	 */
+	Vector3 GetBoundCenter() const;
+	void SetBoundCenter( const Vector3 & value );
+
+	/*!
+	 * The radius of the bounding sphere?
+	 */
+	float GetBoundRadius() const;
+	void SetBoundRadius( float value );
+
+	/*!
+	 * The center of the bounding sphere in world space?
+	 */
+	Vector3 GetWorldCenter() const;
+	void SetWorldCenter( const Vector3 & value );
+
+	/*!
+	 * The radius of the bounding sphere in world space?
+	 */
+	float GetWorldRadius() const;
+	void SetWorldRadius( float value );
+
+	/*!
+	 * The LOD levels based on proportion of screen size?
+	 */
+	vector<float > GetProportionLevels() const;
+	void SetProportionLevels( const vector<float >& value );
+
 protected:
 	NI_SCREEN_L_O_D_DATA_MEMBERS
 	STANDARD_INTERNAL_METHODS
diff --git a/src/obj/NiLODNode.cpp b/src/obj/NiLODNode.cpp
index f8b0d5c8d133eac6b98f329b79940b878db1fb42..455d2498fca924ccaf4d49ae2e1a8e566fcee413 100644
--- a/src/obj/NiLODNode.cpp
+++ b/src/obj/NiLODNode.cpp
@@ -37,3 +37,27 @@ const Type & NiLODNode::GetType() const {
 	return TYPE;
 };
 
+Vector3 NiLODNode::GetLodCenter() const {
+	return lodCenter;
+}
+
+void NiLODNode::SetLodCenter( const Vector3 & value ) {
+	lodCenter = value;
+}
+
+vector<LODRange > NiLODNode::GetLodLevels() const {
+	return lodLevels;
+}
+
+void NiLODNode::SetLodLevels( const vector<LODRange >& value ) {
+	lodLevels = value;
+}
+
+Ref<NiLODData > NiLODNode::GetRangeData() const {
+	return rangeData;
+}
+
+void NiLODNode::SetRangeData( Ref<NiLODData > value ) {
+	rangeData = value;
+}
+
diff --git a/src/obj/NiRangeLODData.cpp b/src/obj/NiRangeLODData.cpp
index ef33e227040a3ae46fba70e023ca0d6464dfe585..fa169a509d94c7a2b7ac42b30253a13f0a731c5d 100644
--- a/src/obj/NiRangeLODData.cpp
+++ b/src/obj/NiRangeLODData.cpp
@@ -36,3 +36,19 @@ const Type & NiRangeLODData::GetType() const {
 	return TYPE;
 };
 
+Vector3 NiRangeLODData::GetLodCenter() const {
+	return lodCenter;
+}
+
+void NiRangeLODData::SetLodCenter( const Vector3 & value ) {
+	lodCenter = value;
+}
+
+vector<LODRange > NiRangeLODData::GetLodLevels() const {
+	return lodLevels;
+}
+
+void NiRangeLODData::SetLodLevels( const vector<LODRange >& value ) {
+	lodLevels = value;
+}
+
diff --git a/src/obj/NiScreenLODData.cpp b/src/obj/NiScreenLODData.cpp
index f42cacaee3c8e3a4664e2f94ebc632714907a1bb..9bcadfc6402d46a7ffbf289ea9e8b764a3cef74b 100644
--- a/src/obj/NiScreenLODData.cpp
+++ b/src/obj/NiScreenLODData.cpp
@@ -35,3 +35,43 @@ const Type & NiScreenLODData::GetType() const {
 	return TYPE;
 };
 
+Vector3 NiScreenLODData::GetBoundCenter() const {
+	return boundCenter;
+}
+
+void NiScreenLODData::SetBoundCenter( const Vector3 & value ) {
+	boundCenter = value;
+}
+
+float NiScreenLODData::GetBoundRadius() const {
+	return boundRadius;
+}
+
+void NiScreenLODData::SetBoundRadius( float value ) {
+	boundRadius = value;
+}
+
+Vector3 NiScreenLODData::GetWorldCenter() const {
+	return worldCenter;
+}
+
+void NiScreenLODData::SetWorldCenter( const Vector3 & value ) {
+	worldCenter = value;
+}
+
+float NiScreenLODData::GetWorldRadius() const {
+	return worldRadius;
+}
+
+void NiScreenLODData::SetWorldRadius( float value ) {
+	worldRadius = value;
+}
+
+vector<float > NiScreenLODData::GetProportionLevels() const {
+	return proportion;
+}
+
+void NiScreenLODData::SetProportionLevels( const vector<float >& value ) {
+	proportion = value;
+}
+